package com.hbzhit.modules.wx.service;

import com.hbzhit.common.utils.R;
import com.hbzhit.modules.sys.entity.SysOrgEntity;
import com.hbzhit.modules.sys.entity.SysUserEntity;

import java.util.List;

public interface WxUserService {
    /**
     * 获取微信token
     *
     * @return
     * @throws Exception
     */
    String getAccessToken() throws Exception;

    /**
     * 获取微信部门列表
     *
     * @param accessToken 微信token
     * @return 部门列表
     */
    List<SysOrgEntity> getDepartmentList(String accessToken);

    /**
     * 获取微信部门人员列表
     *
     * @param accessToken  微信token
     * @param departmentId 部门id
     * @param fetchChild   是否递归获取子部门下面的成员：1-递归获取，0-只获取本部门
     * @return 微信用户列表
     */
    List<SysUserEntity> getUserList(String accessToken, Long departmentId, Integer fetchChild);

    /**
     * 同步企业微信人员信息
     *
     * @return
     */
    Boolean peopleSync();

    /**
     * 微信登录获取用户openid
     *
     * @param code
     * @return
     */
    String getOpenidByCode(String code);
}
